The security of computer and data systems is an important consideration. In order to secure data stored electronically, various techniques have been employed. For example, physical access to data can be restricted. However, physically compartmentalizing data is inconvenient, and is becoming increasingly unrealistic, as remote access to data and cloud based computing becomes the norm.
Other techniques for securing electronic data involve the use of passwords and encryption. Passwords can be required before a user is granted access to a system. Most encryption schemes operate by scrambling the data to be secured using an encryption key. Access to protected data can thus require provision of a required password, use of an appropriate algorithm, and the compliment or pair to the key that was used to encrypt the data. Depending on the password, the encryption algorithm and the length of the key, data thus protected can be quite difficult to access. However, one weakness of such systems is that, once a hacker or other unauthorized party obtains the necessary password and/or key, that party has complete access to the encrypted data. Another weakness of systems that utilize encryption keys is that when a hacker desires access to encrypted information, the hacker can initiate an attack by analyzing relatively small files, which likely comprise files containing encryption keys. In addition, the hacker can concentrate on files generated on or near the date and time of system initialization, since such files are likely to comprise system files containing or pointing to key stores. By thus limiting the volume of information on which to concentrate an attack, the security of encrypted file systems can more easily be overcome.